
package com.farent.solutions.plugins.stripes.hyperstripes.core.ajax;

import java.util.ArrayList;
import java.util.List;

public class AjaxResponseInsert {

    private String elementName;

    private String rawContent;

    private List<AjaxResponseAttribute> attributes;
    
    private String elementValue;
    
    protected AjaxResponseInsert.Before before;
    protected AjaxResponseInsert.After after;

    /**
     * Gets the value of the before property.
     * 
     * @return
     *     possible object is
     *     {@link AjaxResponseInsertType.Before }
     *     
     */
    public AjaxResponseInsert.Before getBefore() {
        return before;
    }

    public List<AjaxResponseAttribute> getAttributes() {
        if (attributes == null) {
            attributes = new ArrayList<AjaxResponseAttribute>();
        }
        return attributes;
    }

    /**
     * Sets the value of the before property.
     * 
     * @param value
     *     allowed object is
     *     {@link AjaxResponseInsertType.Before }
     *     
     */
    public void setBefore(AjaxResponseInsert.Before value) {
        this.before = value;
    }

    public String getElementName() {
        return elementName;
    }

    public void setElementName(String elementName) {
        this.elementName = elementName;
    }

    public String getElementValue() {
        return elementValue;
    }

    public void setElementValue(String elementValue) {
        this.elementValue = elementValue;
    }

    /**
     * Gets the value of the after property.
     * 
     * @return
     *     possible object is
     *     {@link AjaxResponseInsertType.After }
     *     
     */
    public AjaxResponseInsert.After getAfter() {
        return after;
    }

    /**
     * Sets the value of the after property.
     * 
     * @param value
     *     allowed object is
     *     {@link AjaxResponseInsertType.After }
     *     
     */
    public void setAfter(AjaxResponseInsert.After value) {
        this.after = value;
    }

    public static class After {

        public After() {
        }

        public After(String id) {
            this.id = id;
        }

        protected String id;

        /**
         * Gets the value of the id property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getId() {
            return id;
        }

        /**
         * Sets the value of the id property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setId(String value) {
            this.id = value;
        }

    }

    public static class Before {

        public Before() {
        }

        public Before(String id) {
            this.id = id;
        }

        private String id;

        /**
         * Gets the value of the id property.
         * 
         * @return
         *     possible object is
         *     {@link String }
         *     
         */
        public String getId() {
            return id;
        }

        /**
         * Sets the value of the id property.
         * 
         * @param value
         *     allowed object is
         *     {@link String }
         *     
         */
        public void setId(String value) {
            this.id = value;
        }


    }

}
